Emmanuele Bassi [Tue, 17 Jul 2018 11:07:27 +0000 (11:07 +0000)]
Merge branch 'legacy-gl' into 'master'
fix the OpenGL renderer for legacy contexts
See merge request GNOME/gtk!240
Piotr Drąg [Mon, 16 Jul 2018 14:35:52 +0000 (16:35 +0200)]
Update POTFILES.in
Matthias Clasen [Mon, 16 Jul 2018 00:11:56 +0000 (20:11 -0400)]
Handle configure events in gdk
The previous attempt at removing configure events entirely
was causing some dialogs not to show up under Wayland.
Presumably due to ordering issues with emitting ::size-change
out of the backend.
Instead, keep configure events in the event queue, but handle
them on the gdk side. This keeps the ordering intact, while
still removing configure events from the api. The dialogs
show up now.
Matthias Clasen [Sun, 15 Jul 2018 23:52:28 +0000 (19:52 -0400)]
Revert "gdk: Drop configure events"
This reverts commit
a8926c9d873ce968353a2eb1d3930c4f1ac79c94.
Matthias Clasen [Sun, 15 Jul 2018 23:49:26 +0000 (19:49 -0400)]
Revert "broadway: Stop using configure events"
This reverts commit
9c827cbff4d7cd3e59fbfeb7ec5abe9c7dbf6bdb.
Matthias Clasen [Sun, 15 Jul 2018 22:18:11 +0000 (22:18 +0000)]
Merge branch 'dnd-cleanups' into 'master'
Dnd cleanups
See merge request GNOME/gtk!243
Matthias Clasen [Sun, 15 Jul 2018 20:58:22 +0000 (16:58 -0400)]
win32: Stop accessing GdkDrag members
Matthias Clasen [Sun, 15 Jul 2018 20:50:37 +0000 (16:50 -0400)]
wayland: Set actions on drag
We should pass the actions to the newly created
drag in drag_begin.
Matthias Clasen [Sun, 15 Jul 2018 20:50:06 +0000 (16:50 -0400)]
x11: Set actions on drag
We should pass the actions to the newly created
drag object in drag_begin.
Matthias Clasen [Sun, 15 Jul 2018 20:47:17 +0000 (16:47 -0400)]
x11: Rename a file
Keep in line with the parent class.
Matthias Clasen [Sun, 15 Jul 2018 20:18:06 +0000 (16:18 -0400)]
drop: stop accessing GdkDrag fields
Matthias Clasen [Sun, 15 Jul 2018 20:15:42 +0000 (16:15 -0400)]
x11: Stop using GdkDrag fields
Matthias Clasen [Sun, 15 Jul 2018 20:06:55 +0000 (16:06 -0400)]
wayland: Stop accessing GdkDrag members
Matthias Clasen [Sun, 15 Jul 2018 20:08:52 +0000 (16:08 -0400)]
Add a GdkDrag::surface property
Matthias Clasen [Sun, 15 Jul 2018 20:01:00 +0000 (16:01 -0400)]
gdkdrag: remove an unused member
The drag surface is stored in the subclasses and obtained
by via the get_drag_surface vfunc.
Matthias Clasen [Sun, 15 Jul 2018 19:56:56 +0000 (15:56 -0400)]
wayland: Drop an unused api
Nothing was calling gdk_wayland_drag_set_source_surface.
Matthias Clasen [Sun, 15 Jul 2018 19:47:43 +0000 (15:47 -0400)]
Add a private struct to GdkDrag
This will force subclasses to use proper api.
Matthias Clasen [Sun, 15 Jul 2018 19:41:20 +0000 (15:41 -0400)]
Revert "GdkDrop: drop the priv struct"
This reverts commit
d927c3bee0f169279d86e13756c5ba4f6cba94e4.
I was wrong. Better to hide the struct fields from subclasses.
Matthias Clasen [Fri, 13 Jul 2018 16:56:58 +0000 (18:56 +0200)]
dnd: Drop gdk_drag_drop
This is an inconsistently used private api, and just adds
a vfunc indirection for no other benefit.
Matthias Clasen [Sun, 15 Jul 2018 19:50:37 +0000 (19:50 +0000)]
Merge branch 'wip/matthiasc/kill-non-input-events' into 'master'
Wip/matthiasc/kill non input events
See merge request GNOME/gtk!242
Matthias Clasen [Sun, 15 Jul 2018 19:36:19 +0000 (15:36 -0400)]
Fix up some doc mishaps
When GdkWindow was renamed to GdkSurface, 'window managers'
turned into 'surface managers'. Thats not cool.
Matthias Clasen [Sun, 15 Jul 2018 19:12:14 +0000 (15:12 -0400)]
Drop gdk_surface_withdraw
'withdrawn' is an X11-centric concept, and the function
can just as well be replaced by gdk_surface_hide.
Matthias Clasen [Sun, 15 Jul 2018 18:23:54 +0000 (14:23 -0400)]
gdk: Drop map events
We are really inconsistent about generating these,
and they are not actually used in GTK+. Instead,
add a boolean GdkSurface::mapped property.
Matthias Clasen [Sun, 15 Jul 2018 18:07:40 +0000 (14:07 -0400)]
win32: Stop using expose and configure events
These no longer exist.
Matthias Clasen [Sun, 15 Jul 2018 18:01:59 +0000 (14:01 -0400)]
broadway: Stop using configure events
These no longer exist.
Matthias Clasen [Sun, 15 Jul 2018 12:48:46 +0000 (08:48 -0400)]
gdk: Drop expose events
Replace expose events with a GdkSurface::expose signal.
This is part of the move to use events only for input.
Matthias Clasen [Sun, 15 Jul 2018 14:45:57 +0000 (10:45 -0400)]
gdk: Drop configure events
Replace configure events with a GdkSurface::size-changed signal.
This is part of the move to use events only for input.
Matthias Clasen [Sun, 15 Jul 2018 12:17:25 +0000 (08:17 -0400)]
popover: Drop some dead code
This will be done differently, using xdg-popup instead
of subsurfaces, so no point in keeping this.
Matthias Clasen [Sat, 14 Jul 2018 17:50:14 +0000 (13:50 -0400)]
text display: correct a comment
Elias Aebi [Sat, 14 Jul 2018 12:31:50 +0000 (14:31 +0200)]
gl: implement clipping for legacy contexts
Elias Aebi [Sat, 14 Jul 2018 12:20:30 +0000 (14:20 +0200)]
gl: fix compilation errors for legacy context shaders
Benjamin Otte [Sat, 14 Jul 2018 03:26:33 +0000 (05:26 +0200)]
textview: Only create cairo context in gtktextdisplay.c
Everything else is done using GtkSnapshot now, including renaming the
draw_layer vfunc to snapshot_layer.
Benjamin Otte [Fri, 13 Jul 2018 16:59:01 +0000 (18:59 +0200)]
x11: Set BackPixmap = None unconditionally
Makes it more obvious what we actually want.
Related: #1134
Piotr Drąg [Fri, 13 Jul 2018 13:11:45 +0000 (15:11 +0200)]
Update POTFILES.in
Benjamin Otte [Fri, 13 Jul 2018 12:52:43 +0000 (14:52 +0200)]
window: Update opaque region if background-color changes
The opaque region is only set when the background color is opaque. So
we need to do something about it when the background color changes.
However, in the case where a size allocation is going to happen, we
already do this update in size_allocate(), so in that case avoid doing
it twice.
Benjamin Otte [Tue, 10 Jul 2018 11:28:37 +0000 (13:28 +0200)]
gtk-demo: Update aspect-ratio when selecting new puzzle
Benjamin Otte [Tue, 10 Jul 2018 11:05:21 +0000 (13:05 +0200)]
textview: Use snapshot on the sidebars
Benjamin Otte [Fri, 6 Jul 2018 08:43:14 +0000 (10:43 +0200)]
widgetpaintable: Add a hack to make recursion not infloop
Makes the GUADEC talk not crash that I'm supposed to give in 20 minutes.
Benjamin Otte [Thu, 5 Jul 2018 19:42:39 +0000 (21:42 +0200)]
widgetpaintable: Redo implementation
Instead of instantly invalidating, we now cache the old render node and
do the update in an idle handler.
While that gives us a 1 frame delay, it avoids all the tricky things
like queueing resizes while resizing or queueing draws while drawing.
The only remaining issue (and a *big* one at that) is that a nested
widget paintable will now cause the widget to snapshot its previous
render node when creating a new one. And that one will snapshot its
previous render node, and that one will...
And nothing so far breaks this recursion.
Benjamin Otte [Thu, 5 Jul 2018 19:41:59 +0000 (21:41 +0200)]
paintable: Fix return_if_fail() statements
I always switch them up...
Benjamin Otte [Sun, 8 Jul 2018 14:52:33 +0000 (16:52 +0200)]
gl: Don't accidentally use ints for float variables
The int was floor()ing the x/y coordinates of glyphs, which could cause
significant repositioning of glyphs when text was scaled via the MVP.
Matthias Clasen [Fri, 13 Jul 2018 08:06:10 +0000 (10:06 +0200)]
docs: Small updates
Remove a few references to no-longer-existing APIs.
Matthias Clasen [Fri, 13 Jul 2018 07:45:57 +0000 (07:45 +0000)]
Merge branch 'dnd-cleanups' into 'master'
Dnd cleanups
See merge request GNOME/gtk!228
Matthias Clasen [Thu, 12 Jul 2018 12:18:59 +0000 (12:18 +0000)]
Merge branch 'fix-wayland' into 'master'
GtkIMContextSimple: Fix Wayland build when X11 support is disabled
See merge request GNOME/gtk!234
Matthias Clasen [Thu, 5 Jul 2018 04:18:16 +0000 (06:18 +0200)]
dnd: Drop gdk_drag_abort
This function is never called, so drop it, its vfunc,
and all the backend implementations.
Matthias Clasen [Thu, 12 Jul 2018 11:53:50 +0000 (13:53 +0200)]
dnd: Some documentation updates
Don't mention dnd protocols, and do mention the new,
split objects.
Matthias Clasen [Wed, 4 Jul 2018 10:00:47 +0000 (12:00 +0200)]
win32: Build fixes
Matthias Clasen [Wed, 4 Jul 2018 07:28:43 +0000 (09:28 +0200)]
wayland: Rename a source file
Rename gdkdnd-wayland.c to gdkdrag-wayland.c to go along
with gdkdrop-wayland.c.
Matthias Clasen [Wed, 4 Jul 2018 07:27:06 +0000 (09:27 +0200)]
wayland: Drop an unused field
Nothing was using the foreign_dnd_surface anymore, so no
need to create it in the first place.
Matthias Clasen [Wed, 4 Jul 2018 06:40:49 +0000 (08:40 +0200)]
dnd: Drop suggested_action
The only user of this field was the x11 backend, and it
turns out that it does not need to store the value at all.
Matthias Clasen [Wed, 4 Jul 2018 06:32:27 +0000 (08:32 +0200)]
drag: Split a setter
In preparation for moving the suggested action
to the x11 backend, split the setter off.
Matthias Clasen [Wed, 4 Jul 2018 06:06:53 +0000 (08:06 +0200)]
win32: Stop using gdk_drag_get_suggested_action
The suggested action is not set or used in the win32
information, so don't put it in logs either.
Matthias Clasen [Tue, 3 Jul 2018 22:59:18 +0000 (00:59 +0200)]
GdkDrop: drop the priv struct
Its not needed.
Matthias Clasen [Tue, 3 Jul 2018 22:52:21 +0000 (00:52 +0200)]
Add a GdkDrag::actions property
To go along the GdkDrop::actions property.
Matthias Clasen [Tue, 3 Jul 2018 22:44:00 +0000 (00:44 +0200)]
Rename a property
Change GdkDrag::action to GdkDrag::selected-action, which is
more clearly different from actions, and follows the existing
name of the struct field and getter.
Matthias Clasen [Tue, 3 Jul 2018 20:35:58 +0000 (22:35 +0200)]
GdkDrag: Drop the priv struct
We don't need it.
Matthias Clasen [Tue, 3 Jul 2018 18:58:31 +0000 (20:58 +0200)]
wayland: set a cursor when starting a drag
Otherwise, we wont have one.
Matthias Clasen [Mon, 2 Jul 2018 23:16:47 +0000 (01:16 +0200)]
dnd: Add a GdkDrag::action property
This lets us drop the ::action-changed signal for the
property change notification. But, can just as well move
the signal class handers which just update the cursor
to the ::action setter. No need to do this in the backends.
Matthias Clasen [Mon, 2 Jul 2018 22:23:37 +0000 (00:23 +0200)]
wayland: Remove an unused field
GdkDragWayland.suggested_action was entirely unused, so drop it.
Matthias Clasen [Tue, 3 Jul 2018 18:37:31 +0000 (20:37 +0200)]
dnd: Rename gtk_drag_begin_with_coordinates
Now that the coordiate-less variant is gone,
rename this back to the shorter gtk_drag_begin.
Daniel Boles [Mon, 9 Jul 2018 17:28:49 +0000 (17:28 +0000)]
Merge branch 'master' into 'master'
HighContrast: Restore expander size
Closes #1046
See merge request GNOME/gtk!167
Timm Bäder [Sun, 8 Jul 2018 19:48:17 +0000 (21:48 +0200)]
widget factory: Use GtkPicture for background selection
Showing those background images as 16×16 icons doesn't look very nice.
Timm Bäder [Sun, 8 Jul 2018 18:08:15 +0000 (20:08 +0200)]
gl renderer: Cache blurred outset shadow nodes
Since these are particularly expensive to render and we have a pretty
big one used in every client-side decorated window.
Timm Bäder [Sun, 8 Jul 2018 18:30:03 +0000 (20:30 +0200)]
aboutdialog: Remove priv pointer
Timm Bäder [Sun, 8 Jul 2018 18:22:16 +0000 (20:22 +0200)]
layout: Remove priv pointer
Timm Bäder [Sun, 8 Jul 2018 10:50:21 +0000 (12:50 +0200)]
rendernodes: Fix unconditionally impossible diffs
Some of the _diff implementations did a whole bunch of work just to
throw it away afterwards and invalidate the entire union of the two
render nodes, most notably the two clip nodes. Fix this to only call
gsk_render_node_diff_impossible if the previous if-condition is FALSE
and not always.
Timm Bäder [Sun, 8 Jul 2018 10:39:06 +0000 (12:39 +0200)]
GskRenderer: Add missing nullable annotation
Timm Bäder [Sun, 8 Jul 2018 10:19:35 +0000 (12:19 +0200)]
Revert "snapshot: merge container nodes"
This reverts commit
622a150bb4a83afba909c051a4baf12a88868e62.
Emmanuel Gil Peyrot [Sun, 8 Jul 2018 18:11:01 +0000 (20:11 +0200)]
GtkIMContextSimple: Fix Wayland build when X11 support is disabled.
Balázs Meskó [Sun, 8 Jul 2018 14:04:15 +0000 (14:04 +0000)]
Update Hungarian translation
Timm Bäder [Sun, 8 Jul 2018 09:26:12 +0000 (11:26 +0200)]
Implement GtkInspectorLayoutOverlay
To properly replace the old "show layout borders" option.
Timm Bäder [Sun, 8 Jul 2018 08:32:12 +0000 (10:32 +0200)]
treeview: Fix column visibility check
This is still fallout from the bin_window removal. We aren't moving the
GdkWindow/GdkSurface anymore so we have to account for the scrolling
ourselves.
Timm Bäder [Sun, 8 Jul 2018 08:02:58 +0000 (10:02 +0200)]
treeview: Move column header widgets when scrolling
Since those are widgets and widgets need to be size-allocate'd properly,
we need to queue an allocate, as well as actually add the hadjustment's
value to the column x position.
Fixes #1202
Timm Bäder [Sun, 8 Jul 2018 08:02:43 +0000 (10:02 +0200)]
aspectframe: Remove priv pointer
Timm Bäder [Sun, 8 Jul 2018 07:39:05 +0000 (09:39 +0200)]
scalebutton: Remove priv pointer
Timm Bäder [Sun, 8 Jul 2018 07:29:14 +0000 (09:29 +0200)]
searchbar: Ignore key presses when unmapped
The purpose of a searchbar is to start a search on visible widgets when
a key is pressed. Starting a search on e.g. a stack page that is not
visible at all is not very useful.
Timm Bäder [Sat, 7 Jul 2018 21:03:19 +0000 (23:03 +0200)]
accellabel: Add newline between consecutive if statements
Timm Bäder [Sat, 7 Jul 2018 17:34:00 +0000 (19:34 +0200)]
listbox demo: Hide extra_buttons_box by default
It should only show up when hovering the row.
Timm Bäder [Sat, 7 Jul 2018 17:18:26 +0000 (19:18 +0200)]
range: Remove has_origin flag
It's equivalent to the highlight_widget being !NULL.
Timm Bäder [Sat, 7 Jul 2018 17:14:38 +0000 (19:14 +0200)]
dialog: Remove priv pointer
Timm Bäder [Sat, 7 Jul 2018 17:10:58 +0000 (19:10 +0200)]
dialog: Remove some GtkVBox references
Timm Bäder [Sat, 7 Jul 2018 16:33:43 +0000 (18:33 +0200)]
GtkSeparatorToolItem: Remove draw flag
We can as well query the current value of the flag using
gtk_style_context_has_class.
Timm Bäder [Sat, 7 Jul 2018 16:30:29 +0000 (18:30 +0200)]
GtkSeparatorToolItem: Remove priv pointer
Timm Bäder [Sat, 7 Jul 2018 14:15:02 +0000 (16:15 +0200)]
GtkApplication: Remove priv pointer
Timm Bäder [Sat, 7 Jul 2018 14:08:21 +0000 (16:08 +0200)]
colorswatch: Remove priv pointer
Timm Bäder [Sat, 7 Jul 2018 12:36:59 +0000 (14:36 +0200)]
render: Remove gtk_render_slider
The only thing it was doing is render background and frame, which you
get from using a widget for your slider anyway.
Timm Bäder [Sat, 7 Jul 2018 12:34:18 +0000 (14:34 +0200)]
renderborder: Remove some unused API
Timm Bäder [Sat, 7 Jul 2018 09:37:24 +0000 (11:37 +0200)]
main: Don't look at first GTK_DISPLAY_DEBUG_CHECK parameter...
... if none of the debug displays have any debug flags set. This way, we
can ignore the first parameter to e.g. GTK_DISPLAY_NOTE, which is
usually a call to gtk_widget_get_display.
Before this patch, gtk_widget_get_display was the slowest part of
gtk_widget_query_size_for_orientation.
Timm Bäder [Thu, 5 Jul 2018 19:01:44 +0000 (21:01 +0200)]
Fix a few documentation warnings
Timm Bäder [Sat, 7 Jul 2018 06:30:37 +0000 (06:30 +0000)]
Merge branch 'gtk-picture-docs' into 'master'
docs: Add GtkPicture to types list
See merge request GNOME/gtk!233
Thomas Bechtold [Fri, 6 Jul 2018 20:14:26 +0000 (22:14 +0200)]
docs: Add GtkPicture to types list
We want signals, arguments/parameters and position in the hierarchy to
be shown in the documentation for GtkPicture. So fix the types list.
See
https://developer.gnome.org/gtk-doc-manual/unstable/metafiles_types.html.en
Timm Bäder [Thu, 5 Jul 2018 17:06:48 +0000 (19:06 +0200)]
fixed: Remove child list
Use the child widget list from GtkWidget and attach x/y positions via a
qdata.
Timm Bäder [Thu, 5 Jul 2018 16:01:12 +0000 (18:01 +0200)]
GtkLayout: Remove freeze_count member
Unused.
Timm Bäder [Tue, 3 Jul 2018 20:30:25 +0000 (22:30 +0200)]
spinbutton: Keep GParamSpecs around
notify_by_pspec is more efficient and this way the source file is more
in line with the others.
Emmanuele Bassi [Wed, 4 Jul 2018 17:32:59 +0000 (18:32 +0100)]
ci: Update the image for the Flatpak jobs
The gnome-nightly-oci registry was moved to gitlab.gnome.org, so we
need to change the image we use when building Flatpak bundles in our
CI pipeline.
Emmanuele Bassi [Wed, 4 Jul 2018 16:55:34 +0000 (16:55 +0000)]
Merge branch '1140-gtk_printer_get_hard_margins_for_paper_size-is-not-external' into 'master'
Resolve "gtk_printer_get_hard_margins_for_paper_size() is not external"
Closes #1140
See merge request GNOME/gtk!229
Kjell Ahlstedt [Wed, 4 Jul 2018 16:40:33 +0000 (18:40 +0200)]
gtkprinter: Make gtk_printer_get_hard_margins_for_paper_size() public
The declaration in gtkprinter.h shall be preceded by GDK_AVAILABLE_IN_ALL,
or else the function can't be used in application programs.
Closes #1140
Benjamin Otte [Wed, 4 Jul 2018 13:03:27 +0000 (15:03 +0200)]
rendernode: Make offset nodes use floats
It's OpenGL stuff, use floats.
Benjamin Otte [Wed, 4 Jul 2018 12:40:13 +0000 (14:40 +0200)]
gtkmediafile: Don't leak all the images
We were leaking the GBytes for the image memory, which is a
noticeable memleak to anyone who's casually running a memory monitor.
Go KDE users!
Closes #1200
Benjamin Otte [Wed, 4 Jul 2018 12:40:00 +0000 (14:40 +0200)]
iconhelper: Plug memleak